namespace ext.util
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>Utility class for manipulating CSS rules</summary>
	/// <definedin>src\util\CSS.js</definedin>
	/// <definedin>src\util\CSS.js</definedin>
	[ScriptName("CSS")]
	[ScriptNamespace("Ext.util")]
	[Imported()]
	public partial class CSS
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		internal CSS()
		{
		}
		#endregion
		
		#region Methods
		/// <summary>
		/// Creates a stylesheet from a text blob of rules.
		/// These rules will be wrapped in a STYLE tag and appended to the HEAD of the document.
		/// </summary>
		/// <definedin>src\util\CSS.js</definedin>
		/// <param name="cssText">The text containing the css rules</param>
		/// <param name="id">An id to add to the stylesheet for later removal</param>
		[ScriptName("createStyleSheet")]
		public System.Html.StyleSheet CreateStyleSheet(string cssText, string id)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Removes a style or link tag by id</summary>
		/// <definedin>src\util\CSS.js</definedin>
		/// <param name="id">The id of the tag</param>
		[ScriptName("removeStyleSheet")]
		public void RemoveStyleSheet(string id)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Dynamically swaps an existing stylesheet reference for a new one</summary>
		/// <definedin>src\util\CSS.js</definedin>
		/// <param name="id">The id of an existing link tag to remove</param>
		/// <param name="url">The href of the new stylesheet to include</param>
		[ScriptName("swapStyleSheet")]
		public void SwapStyleSheet(string id, string url)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Refresh the rule cache if you have dynamically added stylesheets</summary>
		/// <definedin>src\util\CSS.js</definedin>
		/// <returns>An object (hash) of rules indexed by selector</returns>
		[ScriptName("refreshCache")]
		public object RefreshCache()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets all css rules for the document</summary>
		/// <definedin>src\util\CSS.js</definedin>
		/// <param name="refreshCache">true to refresh the internal cache</param>
		/// <returns>An object (hash) of rules indexed by selector</returns>
		[ScriptName("getRules")]
		public object GetRules(bool refreshCache)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets an an individual CSS rule by selector(s)</summary>
		/// <definedin>src\util\CSS.js</definedin>
		/// <param name="selector">The CSS selector or an array of selectors to try. The first selector that is found is returned.</param>
		/// <param name="refreshCache">true to refresh the internal cache if you have recently updated any rules or added styles dynamically</param>
		/// <returns>The CSS rule or null if one is not found</returns>
		[ScriptName("getRule")]
		public System.Html.CSSRule GetRule(string selector, bool refreshCache)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets an an individual CSS rule by selector(s)</summary>
		/// <definedin>src\util\CSS.js</definedin>
		/// <param name="selector">The CSS selector or an array of selectors to try. The first selector that is found is returned.</param>
		/// <param name="refreshCache">true to refresh the internal cache if you have recently updated any rules or added styles dynamically</param>
		/// <returns>The CSS rule or null if one is not found</returns>
		[ScriptName("getRule")]
		public System.Html.CSSRule GetRule(System.Array selector, bool refreshCache)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Updates a rule property</summary>
		/// <definedin>src\util\CSS.js</definedin>
		/// <param name="selector">If it&apos;s an array it tries each selector until it finds one. Stops immediately once one is found.</param>
		/// <param name="property">The css property</param>
		/// <param name="value">The new value for the property</param>
		/// <returns>true If a rule was found and updated</returns>
		[ScriptName("updateRule")]
		public bool UpdateRule(string selector, string property, string value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Updates a rule property</summary>
		/// <definedin>src\util\CSS.js</definedin>
		/// <param name="selector">If it&apos;s an array it tries each selector until it finds one. Stops immediately once one is found.</param>
		/// <param name="property">The css property</param>
		/// <param name="value">The new value for the property</param>
		/// <returns>true If a rule was found and updated</returns>
		[ScriptName("updateRule")]
		public bool UpdateRule(System.Array selector, string property, string value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
